Version 1.56
   September 5, 1994

Harvard University
Phone:

617-495-8791

Biological Laboratories
FAX:

617-496-5223

16 Divinity Ave
EMAIL:

g_berntson@harvard.edu

      

Cambridge, MA  02138

USA

Introduction

BranChing is a program for analyzing digitized images of root systems  on  the Macintosh. It has several modules (of varying states of refinement) for making measurements from architectural analyses of branching structures to length and to fractal dimensions. 

BranChing was written primarily to facilitate my own work, so the capabilities it has are limited to those I thought worth putting the energy into.  BranChing is NOT a complete image processing utility.  Far from it - to use BranChing successfully the user have access to a general image processing program (Image is an EXCELLENT such candidate).  BranChing was designed to work with one bit images (black and white) and can only a few file types (PICT and PNTG).

So what use is this program?  Below I outline the basic modules within BranChing.

Architecture: This module makes detailed measurements of explicit topological and 

link length patterns of two dimensional images of roots (or any other root tree 

branching structure -- e.g.
stream drainage networks, neurons, lightning).  

Described in detail in Berntson (1992).  

Trajectories: This module is used for measuring vectors along curves (it works 

manually).  A potential application is to generate functions of length-angle 

relationships for trajectories of root growth obtained from rhizotron or 

excavation studies. 

Root Length: Measures length of randomly distributed group of lines.  Uses 

algorithms 
introduced by Newman (1966) and modified by Harris and

Campbell (1989). 

Fractal: Calculates fractal dimension of two dimensional images using the grid 

intercept method. 

Root Map: Measures the two dimensional distribution of a set of lines (e.g. roots 

from rhizotron tracings), correcting for variable horizon and image scale.  

Creates matrices (horizontal x vertical) of root length.  Still in the development 

stages. 

Pixel Types: Counts all the on pixels in an image and for each on pixel, counts 

the number of neighboring pixels.  For previously skeletonized images (e.g. 

ones skeletonized in Image) this routine will tell you "length" (all pixels), possible 

"tips" (one neighboring pixel), possible branching points (more than two neighbors), 

and noise (no neighbors).  As of v1.56, this module also performs root length 
     calculations developed by Pan & Bolton (1991).

About this version - 1.56

This is the fifth version of BranChing I have released to the public.

This is a "young" program.  I am a novice programmer and thus the interface and features of this program are limited.  If you use BranChing, please contact me and tell me how it has been performing.  It still crashes every now and then - I am continually improving the stability of the code.  In none of the tests I have run has BranChing resulted in the loss of any data or the corruption of any files.  It never modifies existing files - all image manipulation is in memory.  If you have any suggestions for revisions -- to improve the program or to make it more suitable for your own needs -- let me know.  I will continue to support and improve BranChing.

Incompatibilities

I have found that some of BranChing's modules are not compatible with Now Menus and Super Boomerang (both components of the otherwise excellent Now Utilities commercial software package).  I have found these incompatibilities with versions 4, 4.01 and 4.02.

Several people who have used BranChing have experienced problems with some modules - especially the architecture module.  As a first try at solving these problems, I recommend ALLOCATING MORE MEMORY TO BRANCHING.  BranChing can handle extremely large root data structures (more about what they are later) - as large as can be accomodated by available RAM.  If insufficient memory is allocated to BranChing it will not be able to perform some operations.

Digitizing Images

To date BranChing has been used to analyze images of root systems that were digitized using video cameras attached to frame grabber boards and various types of scanners (flat bed and other).  It is possible, however, to use BranChing with any digitized image on the Macintosh, independent of origin.  The only limitation is in the format of the digitized image.  

File Types

Input - Currently BranChing will process MacPaint™ (file type 'PNTG') and black and white 'PICT' files.  

The output (number and type of files) depends on the particular module being used and the settings specified by the user.  In general there are two types of files created:  one-image-one-output files and many-image-one-output files.  Each output file has a default file name corresponding to the image name (first image if many images being processed) plus a suffix.  The following table (Table 1) summarized the output options.

Table 1:  BranChing output file options.